home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 6
/
CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso
/
cucd
/
prog
/
dopussdk
/
include
/
dopus
/
images.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-08-29
|
2KB
|
57 lines
#ifndef _DOPUS_IMAGES
#define _DOPUS_IMAGES
/*****************************************************************************
Images
*****************************************************************************/
// RenderImage() tags
#define IM_Width TAG_USER + 0 // Width of image
#define IM_Height TAG_USER + 1 // Height of image
#define IM_State TAG_USER + 2 // 1 = selected, 0 = normal (default)
#define IM_Rectangle TAG_USER + 3 // Rectangle to center within
#define IM_Mask TAG_USER + 4 // 1 = mask image
#define IM_Depth TAG_USER + 5 // Depth of image
#define IM_ClipBoundary TAG_USER + 6 // Clip boundary size
#define IM_Erase TAG_USER + 7 // Erase background
#define IM_NoDrawInvalid TAG_USER + 8 // Don't draw if image is invalid
#define IM_NoIconRemap TAG_USER + 9 // Don't remap icons
// Images remapping
typedef struct
{
struct Screen *ir_Screen;
unsigned short *ir_PenArray;
short ir_PenCount;
unsigned long ir_Flags;
} ImageRemap;
#define IRF_REMAP_COL0 (1<<0) // Remap colour 0
#define IRF_PRECISION_EXACT (1<<1) // Remap precision
#define IRF_PRECISION_ICON (1<<2)
#define IRF_PRECISION_GUI (1<<3)
// Open an image in memory (for remapping)
typedef struct
{
USHORT *oi_ImageData;
ULONG *oi_Palette;
short oi_Width;
short oi_Height;
short oi_Depth;
} OpenImageInfo;
void CloseImage(APTR image);
APTR CopyImage(APTR image);
void FreeImageRemap(ImageRemap *);
void FreeRemapImage(APTR,ImageRemap *);
void GetImageAttrs(APTR image,struct TagItem *tags);
ULONG *GetImagePalette(APTR image);
APTR OpenImage(char *name,OpenImageInfo *);
BOOL RemapImage(APTR,struct Screen *,ImageRemap *);
short RenderImage(struct RastPort *rp,APTR image,unsigned short left,unsigned short top,struct TagItem *tags);
#endif